<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>14.2. ConfigParser — Configuration file parser &mdash; Python v2.6.2 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.6.2',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python v2.6.2 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python v2.6.2 documentation" href="../index.html" />
    <link rel="up" title="14. File Formats" href="fileformats.html" />
    <link rel="next" title="14.3. robotparser — Parser for robots.txt" href="robotparser.html" />
    <link rel="prev" title="14.1. csv — CSV File Reading and Writing" href="csv.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
 

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../modindex.html" title="Global Module Index"
             accesskey="M">modules</a> |</li>
        <li class="right" >
          <a href="robotparser.html" title="14.3. robotparser — Parser for robots.txt"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="csv.html" title="14.1. csv — CSV File Reading and Writing"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="../index.html">Python v2.6.2 documentation</a> &raquo;</li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="fileformats.html" accesskey="U">14. File Formats</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-ConfigParser">
<h1>14.2. <tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt> &#8212; Configuration file parser<a class="headerlink" href="#module-ConfigParser" title="Permalink to this headline">¶</a></h1>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The <tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt> module has been renamed to <tt class="xref docutils literal"><span class="pre">configparser</span></tt> in
Python 3.0.  The <a class="reference external" href="../glossary.html#term-to3"><em class="xref">2to3</em></a> tool will automatically adapt imports when
converting your sources to 3.0.</p>
</div>
<p id="index-228">This module defines the class <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a>.   The <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a>
class implements a basic configuration file parser language which provides a
structure similar to what you would find on Microsoft Windows INI files.  You
can use this to write Python programs which can be customized by end users
easily.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">This library does <em>not</em> interpret or write the value-type prefixes used in the
Windows Registry extended version of INI syntax.</p>
</div>
<p>The configuration file consists of sections, led by a <tt class="docutils literal"><span class="pre">[section]</span></tt> header and
followed by <tt class="docutils literal"><span class="pre">name:</span> <span class="pre">value</span></tt> entries, with continuations in the style of
<span class="target" id="index-229"></span><a class="reference external" href="http://tools.ietf.org/html/rfc822.html"><strong>RFC 822</strong></a> (see section 3.1.1, &#8220;LONG HEADER FIELDS&#8221;); <tt class="docutils literal"><span class="pre">name=value</span></tt> is also
accepted.  Note that leading whitespace is removed from values. The optional
values can contain format strings which refer to other values in the same
section, or values in a special <tt class="docutils literal"><span class="pre">DEFAULT</span></tt> section.  Additional defaults can be
provided on initialization and retrieval.  Lines beginning with <tt class="docutils literal"><span class="pre">'#'</span></tt> or
<tt class="docutils literal"><span class="pre">';'</span></tt> are ignored and may be used to provide comments.</p>
<p>For example:</p>
<div class="highlight-python"><pre>[My Section]
foodir: %(dir)s/whatever
dir=frob
long: this value continues
   in the next line</pre>
</div>
<p>would resolve the <tt class="docutils literal"><span class="pre">%(dir)s</span></tt> to the value of <tt class="docutils literal"><span class="pre">dir</span></tt> (<tt class="docutils literal"><span class="pre">frob</span></tt> in this case).
All reference expansions are done on demand.</p>
<p>Default values can be specified by passing them into the <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a>
constructor as a dictionary.  Additional defaults  may be passed into the
<tt class="xref docutils literal"><span class="pre">get()</span></tt> method which will override all others.</p>
<p>Sections are normally stored in a builtin dictionary. An alternative dictionary
type can be passed to the <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> constructor. For example, if a
dictionary type is passed that sorts its keys, the sections will be sorted on
write-back, as will be the keys within each section.</p>
<dl class="class">
<dt id="ConfigParser.RawConfigParser">
<em class="property">
class </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">RawConfigParser</tt><big>(</big><span class="optional">[</span><em>defaults</em><span class="optional">[</span>, <em>dict_type</em><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser" title="Permalink to this definition">¶</a></dt>
<dd><p>The basic configuration object.  When <em>defaults</em> is given, it is initialized
into the dictionary of intrinsic defaults.  When <em>dict_type</em> is given, it will
be used to create the dictionary objects for the list of sections, for the
options within a section, and for the default values. This class does not
support the magical interpolation behavior.</p>
<p>
<span class="versionmodified">New in version 2.3.</span></p>
<p>
<span class="versionmodified">Changed in version 2.6: </span><em>dict_type</em> was added.</p>
</dd></dl>

<dl class="class">
<dt id="ConfigParser.ConfigParser">
<em class="property">
class </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">ConfigParser</tt><big>(</big><span class="optional">[</span><em>defaults</em><span class="optional">[</span>, <em>dict_type</em><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.ConfigParser" title="Permalink to this definition">¶</a></dt>
<dd><p>Derived class of <a title="ConfigParser.RawConfigParser" class="reference internal" href="#ConfigParser.RawConfigParser"><tt class="xref docutils literal"><span class="pre">RawConfigParser</span></tt></a> that implements the magical
interpolation feature and adds optional arguments to the <a title="ConfigParser.ConfigParser.get" class="reference internal" href="#ConfigParser.ConfigParser.get"><tt class="xref docutils literal"><span class="pre">get()</span></tt></a> and
<a title="ConfigParser.ConfigParser.items" class="reference internal" href="#ConfigParser.ConfigParser.items"><tt class="xref docutils literal"><span class="pre">items()</span></tt></a> methods.  The values in <em>defaults</em> must be appropriate for the
<tt class="docutils literal"><span class="pre">%()s</span></tt> string interpolation.  Note that <em>__name__</em> is an intrinsic default;
its value is the section name, and will override any value provided in
<em>defaults</em>.</p>
<p>All option names used in interpolation will be passed through the
<tt class="xref docutils literal"><span class="pre">optionxform()</span></tt> method just like any other option name reference.  For
example, using the default implementation of <tt class="xref docutils literal"><span class="pre">optionxform()</span></tt> (which converts
option names to lower case), the values <tt class="docutils literal"><span class="pre">foo</span> <span class="pre">%(bar)s</span></tt> and <tt class="docutils literal"><span class="pre">foo</span> <span class="pre">%(BAR)s</span></tt> are
equivalent.</p>
</dd></dl>

<dl class="class">
<dt id="ConfigParser.SafeConfigParser">
<em class="property">
class </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">SafeConfigParser</tt><big>(</big><span class="optional">[</span><em>defaults</em><span class="optional">[</span>, <em>dict_type</em><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.SafeConfigParser" title="Permalink to this definition">¶</a></dt>
<dd><p>Derived class of <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> that implements a more-sane variant of
the magical interpolation feature.  This implementation is more predictable as
well. New applications should prefer this version if they don&#8217;t need to be
compatible with older versions of Python.</p>
<p>
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="ConfigParser.NoSectionError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">NoSectionError</tt><a class="headerlink" href="#ConfigParser.NoSectionError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised when a specified section is not found.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.DuplicateSectionError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">DuplicateSectionError</tt><a class="headerlink" href="#ConfigParser.DuplicateSectionError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised if <tt class="xref docutils literal"><span class="pre">add_section()</span></tt> is called with the name of a section
that is already present.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.NoOptionError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">NoOptionError</tt><a class="headerlink" href="#ConfigParser.NoOptionError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised when a specified option is not found in the specified  section.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.InterpolationError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">InterpolationError</tt><a class="headerlink" href="#ConfigParser.InterpolationError" title="Permalink to this definition">¶</a></dt>
<dd>Base class for exceptions raised when problems occur performing string
interpolation.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.InterpolationDepthError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">InterpolationDepthError</tt><a class="headerlink" href="#ConfigParser.InterpolationDepthError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised when string interpolation cannot be completed because the
number of iterations exceeds <a title="ConfigParser.MAX_INTERPOLATION_DEPTH" class="reference internal" href="#ConfigParser.MAX_INTERPOLATION_DEPTH"><tt class="xref docutils literal"><span class="pre">MAX_INTERPOLATION_DEPTH</span></tt></a>. Subclass of
<a title="ConfigParser.InterpolationError" class="reference internal" href="#ConfigParser.InterpolationError"><tt class="xref docutils literal"><span class="pre">InterpolationError</span></tt></a>.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.InterpolationMissingOptionError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">InterpolationMissingOptionError</tt><a class="headerlink" href="#ConfigParser.InterpolationMissingOptionError" title="Permalink to this definition">¶</a></dt>
<dd><p>Exception raised when an option referenced from a value does not exist. Subclass
of <a title="ConfigParser.InterpolationError" class="reference internal" href="#ConfigParser.InterpolationError"><tt class="xref docutils literal"><span class="pre">InterpolationError</span></tt></a>.</p>
<p>
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="ConfigParser.InterpolationSyntaxError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">InterpolationSyntaxError</tt><a class="headerlink" href="#ConfigParser.InterpolationSyntaxError" title="Permalink to this definition">¶</a></dt>
<dd><p>Exception raised when the source text into which substitutions are made does not
conform to the required syntax. Subclass of <a title="ConfigParser.InterpolationError" class="reference internal" href="#ConfigParser.InterpolationError"><tt class="xref docutils literal"><span class="pre">InterpolationError</span></tt></a>.</p>
<p>
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="ConfigParser.MissingSectionHeaderError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">MissingSectionHeaderError</tt><a class="headerlink" href="#ConfigParser.MissingSectionHeaderError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised when attempting to parse a file which has no section headers.</dd></dl>

<dl class="exception">
<dt id="ConfigParser.ParsingError">
<em class="property">
exception </em><tt class="descclassname">ConfigParser.</tt><tt class="descname">ParsingError</tt><a class="headerlink" href="#ConfigParser.ParsingError" title="Permalink to this definition">¶</a></dt>
<dd>Exception raised when errors occur attempting to parse a file.</dd></dl>

<dl class="data">
<dt id="ConfigParser.MAX_INTERPOLATION_DEPTH">
<tt class="descclassname">ConfigParser.</tt><tt class="descname">MAX_INTERPOLATION_DEPTH</tt><a class="headerlink" href="#ConfigParser.MAX_INTERPOLATION_DEPTH" title="Permalink to this definition">¶</a></dt>
<dd>The maximum depth for recursive interpolation for <tt class="xref docutils literal"><span class="pre">get()</span></tt> when the <em>raw</em>
parameter is false.  This is relevant only for the <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> class.</dd></dl>

<div class="admonition-see-also admonition seealso">
<p class="first admonition-title">See also</p>
<dl class="last docutils">
<dt>Module <a title="Simple lexical analysis for Unix shell-like languages." class="reference external" href="shlex.html#module-shlex"><tt class="xref docutils literal"><span class="pre">shlex</span></tt></a></dt>
<dd>Support for a creating Unix shell-like mini-languages which can be used as an
alternate format for application configuration files.</dd>
</dl>
</div>
<div class="section" id="rawconfigparser-objects">
<span id="id1"></span><h2>14.2.1. RawConfigParser Objects<a class="headerlink" href="#rawconfigparser-objects" title="Permalink to this headline">¶</a></h2>
<p><a title="ConfigParser.RawConfigParser" class="reference internal" href="#ConfigParser.RawConfigParser"><tt class="xref docutils literal"><span class="pre">RawConfigParser</span></tt></a> instances have the following methods:</p>
<dl class="method">
<dt id="ConfigParser.RawConfigParser.defaults">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">defaults</tt><big>(</big><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.defaults" title="Permalink to this definition">¶</a></dt>
<dd>Return a dictionary containing the instance-wide defaults.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.sections">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">sections</tt><big>(</big><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.sections" title="Permalink to this definition">¶</a></dt>
<dd>Return a list of the sections available; <tt class="docutils literal"><span class="pre">DEFAULT</span></tt> is not included in the
list.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.add_section">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">add_section</tt><big>(</big><em>section</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.add_section" title="Permalink to this definition">¶</a></dt>
<dd>Add a section named <em>section</em> to the instance.  If a section by the given name
already exists, <a title="ConfigParser.DuplicateSectionError" class="reference internal" href="#ConfigParser.DuplicateSectionError"><tt class="xref docutils literal"><span class="pre">DuplicateSectionError</span></tt></a> is raised. If the name
<tt class="docutils literal"><span class="pre">DEFAULT</span></tt> (or any of it&#8217;s case-insensitive variants) is passed,
<a title="exceptions.ValueError" class="reference external" href="exceptions.html#exceptions.ValueError"><tt class="xref docutils literal"><span class="pre">ValueError</span></tt></a> is raised.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.has_section">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">has_section</tt><big>(</big><em>section</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.has_section" title="Permalink to this definition">¶</a></dt>
<dd>Indicates whether the named section is present in the configuration. The
<tt class="docutils literal"><span class="pre">DEFAULT</span></tt> section is not acknowledged.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.options">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">options</tt><big>(</big><em>section</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.options" title="Permalink to this definition">¶</a></dt>
<dd>Returns a list of options available in the specified <em>section</em>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.has_option">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">has_option</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.has_option" title="Permalink to this definition">¶</a></dt>
<dd><p>If the given section exists, and contains the given option, return
<a title="True" class="reference external" href="constants.html#True"><tt class="xref xref docutils literal"><span class="pre">True</span></tt></a>; otherwise return <a title="False" class="reference external" href="constants.html#False"><tt class="xref xref docutils literal"><span class="pre">False</span></tt></a>.</p>
<p>
<span class="versionmodified">New in version 1.6.</span></p>
</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.read">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">read</tt><big>(</big><em>filenames</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.read" title="Permalink to this definition">¶</a></dt>
<dd><p>Attempt to read and parse a list of filenames, returning a list of filenames
which were successfully parsed.  If <em>filenames</em> is a string or Unicode string,
it is treated as a single filename. If a file named in <em>filenames</em> cannot be
opened, that file will be ignored.  This is designed so that you can specify a
list of potential configuration file locations (for example, the current
directory, the user&#8217;s home directory, and some system-wide directory), and all
existing configuration files in the list will be read.  If none of the named
files exist, the <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> instance will contain an empty dataset.
An application which requires initial values to be loaded from a file should
load the required file or files using <a title="ConfigParser.RawConfigParser.readfp" class="reference internal" href="#ConfigParser.RawConfigParser.readfp"><tt class="xref docutils literal"><span class="pre">readfp()</span></tt></a> before calling <a title="ConfigParser.RawConfigParser.read" class="reference internal" href="#ConfigParser.RawConfigParser.read"><tt class="xref docutils literal"><span class="pre">read()</span></tt></a>
for any optional files:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ConfigParser</span><span class="o">,</span> <span class="nn">os</span>

<span class="n">config</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
<span class="n">config</span><span class="o">.</span><span class="n">readfp</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="s">&#39;defaults.cfg&#39;</span><span class="p">))</span>
<span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">([</span><span class="s">&#39;site.cfg&#39;</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">&#39;~/.myapp.cfg&#39;</span><span class="p">)])</span>
</pre></div>
</div>
<p>
<span class="versionmodified">Changed in version 2.4: </span>Returns list of successfully parsed filenames.</p>
</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.readfp">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">readfp</tt><big>(</big><em>fp</em><span class="optional">[</span>, <em>filename</em><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.readfp" title="Permalink to this definition">¶</a></dt>
<dd>Read and parse configuration data from the file or file-like object in <em>fp</em>
(only the <tt class="xref docutils literal"><span class="pre">readline()</span></tt> method is used).  If <em>filename</em> is omitted and <em>fp</em>
has a <tt class="xref docutils literal"><span class="pre">name</span></tt> attribute, that is used for <em>filename</em>; the default is
<tt class="docutils literal"><span class="pre">&lt;???&gt;</span></tt>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.get">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">get</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.get" title="Permalink to this definition">¶</a></dt>
<dd>Get an <em>option</em> value for the named <em>section</em>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.getint">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">getint</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.getint" title="Permalink to this definition">¶</a></dt>
<dd>A convenience method which coerces the <em>option</em> in the specified <em>section</em> to an
integer.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.getfloat">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">getfloat</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.getfloat" title="Permalink to this definition">¶</a></dt>
<dd>A convenience method which coerces the <em>option</em> in the specified <em>section</em> to a
floating point number.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.getboolean">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">getboolean</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.getboolean" title="Permalink to this definition">¶</a></dt>
<dd>A convenience method which coerces the <em>option</em> in the specified <em>section</em> to a
Boolean value.  Note that the accepted values for the option are <tt class="docutils literal"><span class="pre">&quot;1&quot;</span></tt>,
<tt class="docutils literal"><span class="pre">&quot;yes&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;true&quot;</span></tt>, and <tt class="docutils literal"><span class="pre">&quot;on&quot;</span></tt>, which cause this method to return <tt class="xref docutils literal"><span class="pre">True</span></tt>,
and <tt class="docutils literal"><span class="pre">&quot;0&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;no&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;false&quot;</span></tt>, and <tt class="docutils literal"><span class="pre">&quot;off&quot;</span></tt>, which cause it to return
<tt class="xref docutils literal"><span class="pre">False</span></tt>.  These string values are checked in a case-insensitive manner.  Any
other value will cause it to raise <a title="exceptions.ValueError" class="reference external" href="exceptions.html#exceptions.ValueError"><tt class="xref docutils literal"><span class="pre">ValueError</span></tt></a>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.items">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">items</tt><big>(</big><em>section</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.items" title="Permalink to this definition">¶</a></dt>
<dd>Return a list of <tt class="docutils literal"><span class="pre">(name,</span> <span class="pre">value)</span></tt> pairs for each option in the given <em>section</em>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.set">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">set</tt><big>(</big><em>section</em>, <em>option</em>, <em>value</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.set" title="Permalink to this definition">¶</a></dt>
<dd><p>If the given section exists, set the given option to the specified value;
otherwise raise <a title="ConfigParser.NoSectionError" class="reference internal" href="#ConfigParser.NoSectionError"><tt class="xref docutils literal"><span class="pre">NoSectionError</span></tt></a>.  While it is possible to use
<a title="ConfigParser.RawConfigParser" class="reference internal" href="#ConfigParser.RawConfigParser"><tt class="xref docutils literal"><span class="pre">RawConfigParser</span></tt></a> (or <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> with <em>raw</em> parameters set to
true) for <em>internal</em> storage of non-string values, full functionality (including
interpolation and output to files) can only be achieved using string values.</p>
<p>
<span class="versionmodified">New in version 1.6.</span></p>
</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.write">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">write</tt><big>(</big><em>fileobject</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.write" title="Permalink to this definition">¶</a></dt>
<dd><p>Write a representation of the configuration to the specified file object.  This
representation can be parsed by a future <a title="ConfigParser.RawConfigParser.read" class="reference internal" href="#ConfigParser.RawConfigParser.read"><tt class="xref docutils literal"><span class="pre">read()</span></tt></a> call.</p>
<p>
<span class="versionmodified">New in version 1.6.</span></p>
</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.remove_option">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">remove_option</tt><big>(</big><em>section</em>, <em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.remove_option" title="Permalink to this definition">¶</a></dt>
<dd><p>Remove the specified <em>option</em> from the specified <em>section</em>. If the section does
not exist, raise <a title="ConfigParser.NoSectionError" class="reference internal" href="#ConfigParser.NoSectionError"><tt class="xref docutils literal"><span class="pre">NoSectionError</span></tt></a>.  If the option existed to be removed,
return <a title="True" class="reference external" href="constants.html#True"><tt class="xref xref docutils literal"><span class="pre">True</span></tt></a>; otherwise return <a title="False" class="reference external" href="constants.html#False"><tt class="xref xref docutils literal"><span class="pre">False</span></tt></a>.</p>
<p>
<span class="versionmodified">New in version 1.6.</span></p>
</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.remove_section">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">remove_section</tt><big>(</big><em>section</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.remove_section" title="Permalink to this definition">¶</a></dt>
<dd>Remove the specified <em>section</em> from the configuration. If the section in fact
existed, return <tt class="xref docutils literal"><span class="pre">True</span></tt>. Otherwise return <tt class="xref docutils literal"><span class="pre">False</span></tt>.</dd></dl>

<dl class="method">
<dt id="ConfigParser.RawConfigParser.optionxform">
<tt class="descclassname">RawConfigParser.</tt><tt class="descname">optionxform</tt><big>(</big><em>option</em><big>)</big><a class="headerlink" href="#ConfigParser.RawConfigParser.optionxform" title="Permalink to this definition">¶</a></dt>
<dd>Transforms the option name <em>option</em> as found in an input file or as passed in by
client code to the form that should be used in the internal structures.  The
default implementation returns a lower-case version of <em>option</em>; subclasses may
override this or client code can set an attribute of this name on instances to
affect this behavior.  Setting this to <a title="str" class="reference external" href="functions.html#str"><tt class="xref docutils literal"><span class="pre">str()</span></tt></a>, for example, would make
option names case sensitive.</dd></dl>

</div>
<div class="section" id="configparser-objects">
<span id="id2"></span><h2>14.2.2. ConfigParser Objects<a class="headerlink" href="#configparser-objects" title="Permalink to this headline">¶</a></h2>
<p>The <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> class extends some methods of the
<a title="ConfigParser.RawConfigParser" class="reference internal" href="#ConfigParser.RawConfigParser"><tt class="xref docutils literal"><span class="pre">RawConfigParser</span></tt></a> interface, adding some optional arguments.</p>
<dl class="method">
<dt id="ConfigParser.ConfigParser.get">
<tt class="descclassname">ConfigParser.</tt><tt class="descname">get</tt><big>(</big><em>section</em>, <em>option</em><span class="optional">[</span>, <em>raw</em><span class="optional">[</span>, <em>vars</em><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.ConfigParser.get" title="Permalink to this definition">¶</a></dt>
<dd>Get an <em>option</em> value for the named <em>section</em>.  All the <tt class="docutils literal"><span class="pre">'%'</span></tt> interpolations
are expanded in the return values, based on the defaults passed into the
constructor, as well as the options <em>vars</em> provided, unless the <em>raw</em> argument
is true.</dd></dl>

<dl class="method">
<dt id="ConfigParser.ConfigParser.items">
<tt class="descclassname">ConfigParser.</tt><tt class="descname">items</tt><big>(</big><em>section</em><span class="optional">[</span>, <em>raw</em><span class="optional">[</span>, <em>vars</em><span class="optional">]</span><span class="optional">]</span><big>)</big><a class="headerlink" href="#ConfigParser.ConfigParser.items" title="Permalink to this definition">¶</a></dt>
<dd><p>Return a list of <tt class="docutils literal"><span class="pre">(name,</span> <span class="pre">value)</span></tt> pairs for each option in the given <em>section</em>.
Optional arguments have the same meaning as for the <a title="ConfigParser.ConfigParser.get" class="reference internal" href="#ConfigParser.ConfigParser.get"><tt class="xref docutils literal"><span class="pre">get()</span></tt></a> method.</p>
<p>
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

</div>
<div class="section" id="safeconfigparser-objects">
<span id="id3"></span><h2>14.2.3. SafeConfigParser Objects<a class="headerlink" href="#safeconfigparser-objects" title="Permalink to this headline">¶</a></h2>
<p>The <a title="ConfigParser.SafeConfigParser" class="reference internal" href="#ConfigParser.SafeConfigParser"><tt class="xref docutils literal"><span class="pre">SafeConfigParser</span></tt></a> class implements the same extended interface as
<a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a>, with the following addition:</p>
<dl class="method">
<dt id="ConfigParser.SafeConfigParser.set">
<tt class="descclassname">SafeConfigParser.</tt><tt class="descname">set</tt><big>(</big><em>section</em>, <em>option</em>, <em>value</em><big>)</big><a class="headerlink" href="#ConfigParser.SafeConfigParser.set" title="Permalink to this definition">¶</a></dt>
<dd><p>If the given section exists, set the given option to the specified value;
otherwise raise <a title="ConfigParser.NoSectionError" class="reference internal" href="#ConfigParser.NoSectionError"><tt class="xref docutils literal"><span class="pre">NoSectionError</span></tt></a>.  <em>value</em> must be a string (<a title="str" class="reference external" href="functions.html#str"><tt class="xref docutils literal"><span class="pre">str</span></tt></a>
or <a title="unicode" class="reference external" href="functions.html#unicode"><tt class="xref docutils literal"><span class="pre">unicode</span></tt></a>); if not, <a title="exceptions.TypeError" class="reference external" href="exceptions.html#exceptions.TypeError"><tt class="xref docutils literal"><span class="pre">TypeError</span></tt></a> is raised.</p>
<p>
<span class="versionmodified">New in version 2.4.</span></p>
</dd></dl>

</div>
<div class="section" id="examples">
<h2>14.2.4. Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<p>An example of writing to a configuration file:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ConfigParser</span>

<span class="n">config</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">RawConfigParser</span><span class="p">()</span>

<span class="c"># When adding sections or items, add them in the reverse order of</span>
<span class="c"># how you want them to be displayed in the actual file.</span>
<span class="c"># In addition, please note that using RawConfigParser&#39;s and the raw</span>
<span class="c"># mode of ConfigParser&#39;s respective set functions, you can assign</span>
<span class="c"># non-string values to keys internally, but will receive an error</span>
<span class="c"># when attempting to write to a file or when you get it in non-raw</span>
<span class="c"># mode. SafeConfigParser does not allow such assignments to take place.</span>
<span class="n">config</span><span class="o">.</span><span class="n">add_section</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;int&#39;</span><span class="p">,</span> <span class="s">&#39;15&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;bool&#39;</span><span class="p">,</span> <span class="s">&#39;true&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;float&#39;</span><span class="p">,</span> <span class="s">&#39;3.1415&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;baz&#39;</span><span class="p">,</span> <span class="s">&#39;fun&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;bar&#39;</span><span class="p">,</span> <span class="s">&#39;Python&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">,</span> <span class="s">&#39;</span><span class="si">%(bar)s</span><span class="s"> is </span><span class="si">%(baz)s</span><span class="s">!&#39;</span><span class="p">)</span>

<span class="c"># Writing our configuration file to &#39;example.cfg&#39;</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s">&#39;example.cfg&#39;</span><span class="p">,</span> <span class="s">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">configfile</span><span class="p">:</span>
    <span class="n">config</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">configfile</span><span class="p">)</span>
</pre></div>
</div>
<p>An example of reading the configuration file again:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ConfigParser</span>

<span class="n">config</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">RawConfigParser</span><span class="p">()</span>
<span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">&#39;example.cfg&#39;</span><span class="p">)</span>

<span class="c"># getfloat() raises an exception if the value is not a float</span>
<span class="c"># getint() and getboolean() also do this for their respective types</span>
<span class="nb">float</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">getfloat</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;float&#39;</span><span class="p">)</span>
<span class="nb">int</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">getint</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;int&#39;</span><span class="p">)</span>
<span class="k">print</span> <span class="nb">float</span> <span class="o">+</span> <span class="nb">int</span>

<span class="c"># Notice that the next output does not interpolate &#39;%(bar)s&#39; or &#39;%(baz)s&#39;.</span>
<span class="c"># This is because we are using a RawConfigParser().</span>
<span class="k">if</span> <span class="n">config</span><span class="o">.</span><span class="n">getboolean</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;bool&#39;</span><span class="p">):</span>
    <span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">)</span>
</pre></div>
</div>
<p>To get interpolation, you will need to use a <a title="ConfigParser.ConfigParser" class="reference internal" href="#ConfigParser.ConfigParser"><tt class="xref docutils literal"><span class="pre">ConfigParser</span></tt></a> or
<a title="ConfigParser.SafeConfigParser" class="reference internal" href="#ConfigParser.SafeConfigParser"><tt class="xref docutils literal"><span class="pre">SafeConfigParser</span></tt></a>:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ConfigParser</span>

<span class="n">config</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">ConfigParser</span><span class="p">()</span>
<span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">&#39;example.cfg&#39;</span><span class="p">)</span>

<span class="c"># Set the third, optional argument of get to 1 if you wish to use raw mode.</span>
<span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">,</span> <span class="mf">0</span><span class="p">)</span> <span class="c"># -&gt; &quot;Python is fun!&quot;</span>
<span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">,</span> <span class="mf">1</span><span class="p">)</span> <span class="c"># -&gt; &quot;%(bar)s is %(baz)s!&quot;</span>

<span class="c"># The optional fourth argument is a dict with members that will take</span>
<span class="c"># precedence in interpolation.</span>
<span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">,</span> <span class="mf">0</span><span class="p">,</span> <span class="p">{</span><span class="s">&#39;bar&#39;</span><span class="p">:</span> <span class="s">&#39;Documentation&#39;</span><span class="p">,</span>
                                        <span class="s">&#39;baz&#39;</span><span class="p">:</span> <span class="s">&#39;evil&#39;</span><span class="p">})</span>
</pre></div>
</div>
<p>Defaults are available in all three types of ConfigParsers. They are used in
interpolation if an option used is not defined elsewhere.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">ConfigParser</span>

<span class="c"># New instance with &#39;bar&#39; and &#39;baz&#39; defaulting to &#39;Life&#39; and &#39;hard&#39; each</span>
<span class="n">config</span> <span class="o">=</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">SafeConfigParser</span><span class="p">({</span><span class="s">&#39;bar&#39;</span><span class="p">:</span> <span class="s">&#39;Life&#39;</span><span class="p">,</span> <span class="s">&#39;baz&#39;</span><span class="p">:</span> <span class="s">&#39;hard&#39;</span><span class="p">})</span>
<span class="n">config</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">&#39;example.cfg&#39;</span><span class="p">)</span>

<span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">)</span> <span class="c"># -&gt; &quot;Python is fun!&quot;</span>
<span class="n">config</span><span class="o">.</span><span class="n">remove_option</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;bar&#39;</span><span class="p">)</span>
<span class="n">config</span><span class="o">.</span><span class="n">remove_option</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;baz&#39;</span><span class="p">)</span>
<span class="k">print</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Section1&#39;</span><span class="p">,</span> <span class="s">&#39;foo&#39;</span><span class="p">)</span> <span class="c"># -&gt; &quot;Life is hard!&quot;</span>
</pre></div>
</div>
<p>The function <tt class="docutils literal"><span class="pre">opt_move</span></tt> below can be used to move options between sections:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">opt_move</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">section1</span><span class="p">,</span> <span class="n">section2</span><span class="p">,</span> <span class="n">option</span><span class="p">):</span>
    <span class="k">try</span><span class="p">:</span>
        <span class="n">config</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">section2</span><span class="p">,</span> <span class="n">option</span><span class="p">,</span> <span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">section1</span><span class="p">,</span> <span class="n">option</span><span class="p">,</span> <span class="mf">1</span><span class="p">))</span>
    <span class="k">except</span> <span class="n">ConfigParser</span><span class="o">.</span><span class="n">NoSectionError</span><span class="p">:</span>
        <span class="c"># Create non-existent section</span>
        <span class="n">config</span><span class="o">.</span><span class="n">add_section</span><span class="p">(</span><span class="n">section2</span><span class="p">)</span>
        <span class="n">opt_move</span><span class="p">(</span><span class="n">config</span><span class="p">,</span> <span class="n">section1</span><span class="p">,</span> <span class="n">section2</span><span class="p">,</span> <span class="n">option</span><span class="p">)</span>
    <span class="k">else</span><span class="p">:</span>
        <span class="n">config</span><span class="o">.</span><span class="n">remove_option</span><span class="p">(</span><span class="n">section1</span><span class="p">,</span> <span class="n">option</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h3><a href="../contents.html">Table Of Contents</a></h3>
            <ul>
<li><a class="reference external" href="">14.2. <tt class="docutils literal"><span class="pre">ConfigParser</span></tt> &#8212; Configuration file parser</a><ul>
<li><a class="reference external" href="#rawconfigparser-objects">14.2.1. RawConfigParser Objects</a></li>
<li><a class="reference external" href="#configparser-objects">14.2.2. ConfigParser Objects</a></li>
<li><a class="reference external" href="#safeconfigparser-objects">14.2.3. SafeConfigParser Objects</a></li>
<li><a class="reference external" href="#examples">14.2.4. Examples</a></li>
</ul>
</li>
</ul>

            <h4>Previous topic</h4>
            <p class="topless"><a href="csv.html"
                                  title="previous chapter">14.1. <tt class="docutils literal"><span class="pre">csv</span></tt> &#8212; CSV File Reading and Writing</a></p>
            <h4>Next topic</h4>
            <p class="topless"><a href="robotparser.html"
                                  title="next chapter">14.3. <tt class="docutils literal"><span class="pre">robotparser</span></tt> &#8212;  Parser for robots.txt</a></p>
            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="../_sources/library/configparser.txt"
                     rel="nofollow">Show Source</a></li>
            </ul>
          <div id="searchbox" style="display: none">
            <h3>Quick search</h3>
              <form class="search" action="../search.html" method="get">
                <input type="text" name="q" size="18" />
                <input type="submit" value="Go" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </form>
              <p class="searchtip" style="font-size: 90%">
              Enter search terms or a module, class or function name.
              </p>
          </div>
          <script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../modindex.html" title="Global Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="robotparser.html" title="14.3. robotparser — Parser for robots.txt"
             >next</a> |</li>
        <li class="right" >
          <a href="csv.html" title="14.1. csv — CSV File Reading and Writing"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="../index.html">Python v2.6.2 documentation</a> &raquo;</li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="fileformats.html" >14. File Formats</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
      &copy; <a href="../copyright.html">Copyright</a> 1990-2009, Python Software Foundation.
      Last updated on Apr 15, 2009.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.1.
    </div>
  </body>
</html>